/*
给定一个整数 n，返回 n! 结果尾数中零的数量。

示例 1:

输入: 3
输出: 0
解释: 3! = 6, 尾数中没有零。
示例 2:

输入: 5
输出: 1
解释: 5! = 120, 尾数中有 1 个零.
说明: 你算法的时间复杂度应为 O(log n) 。

来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/factorial-trailing-zeroes
著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
*/
class Solution {
public:
    int trailingZeroes(int n) {
       int num=0;
       int pow_of_five=5;\
       while(n>=pow_of_five){
           num+=(n/pow_of_five);
           if(pow_of_five>INT_MAX/5){
               break;
           }
           pow_of_five=pow_of_five*5;
       }
       return num;
    }
};

//town 2020.8.12
class Solution {
public:
    int trailingZeroes(int n) {
       int num=0;
       while(n>=5){
           num+=n/5;
           n=n/5;
       }
       return num;
    }
};